package top.ghovos.studyspring.springbootproject01;

import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;

@SpringBootApplication
public class SpringBootProject01Application {
    public static void main(String[] args) {
        SpringApplication.run(SpringBootProject01Application.class, args);
    }
}


@RestController
class HelloController {

    @RequestMapping("/")
    public String index() {
        return "Hello Spring Boot <br>  你好 Spring Boot";
    }
}


@Configuration
class Config {
    /*
        CommandLineRunner init(ApplicationContext ac){
            return args -> {
                System.out.println("由Spring Boot 注册的所有Bean:");
                String [] beanNames=ac.getBeanDefinitionNames();
                Arrays.sort(beanNames);
                for(String beanName : beanNames){
                    System.out.println(beanNames);
                }
            };
        }
    */
    @Bean("initer")
    public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
        return args -> {
            System.out.println("由Spring Boot 注册的所有Bean:");
            String[] beanNames = ctx.getBeanDefinitionNames();
            Arrays.sort(beanNames);
            for (String beanName : beanNames) {
                System.out.println(beanName);
            }
        };
    }
}
